package com.supms.course.mapper;

import java.util.List;
import com.supms.course.domain.TeachPlanRecord;

/**
 * 教案检查Mapper接口
 * 
 * @author LiangHao
 * @date 2022-03-03
 */
public interface TeachPlanRecordMapper 
{
    /**
     * 查询教案检查
     * 
     * @param id 教案检查主键
     * @return 教案检查
     */
    public TeachPlanRecord selectTeachPlanRecordById(Long id);

    /**
     * 查询教案检查列表
     * 
     * @param teachPlanRecord 教案检查
     * @return 教案检查集合
     */
    public List<TeachPlanRecord> selectTeachPlanRecordList(TeachPlanRecord teachPlanRecord);

    /**
     * 新增教案检查
     * 
     * @param teachPlanRecord 教案检查
     * @return 结果
     */
    public int insertTeachPlanRecord(TeachPlanRecord teachPlanRecord);

    /**
     * 修改教案检查
     * 
     * @param teachPlanRecord 教案检查
     * @return 结果
     */
    public int updateTeachPlanRecord(TeachPlanRecord teachPlanRecord);

    /**
     * 删除教案检查
     * 
     * @param id 教案检查主键
     * @return 结果
     */
    public int deleteTeachPlanRecordById(Long id);

    /**
     * 批量删除教案检查
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTeachPlanRecordByIds(Long[] ids);

    /**
     * 通过用户帐号获取督导姓名（用户姓名）
     * @param operName 用户账号
     * @return 结果（用户姓名 ==> 督导姓名）
     */
    String getSupNameByOperName(String operName);

    /**
     * 进行教案评价后将记录表的评价标记改为已评价
     */
    public void updateTeachPlanSituationFlagById(Long teachPlanRecordId);

    /**
     * 获取教案检查记录表（数据综合查看表） --- 未评价
     */
    public TeachPlanRecord getTeachPlanTable0(TeachPlanRecord teachPlanRecord);

    /**
     * 获取教案检查记录表（数据综合查看表） --- 已评价
     */
    public TeachPlanRecord getTeachPlanTable1(TeachPlanRecord teachPlanRecord);

    /**
     * 通过传来的教案检查表ID，查询已经做了教案评价的检查表
     * @param ids 需要删除教案检查表的ID数组
     * @return 已经做了教案评价的教案检查表ID数组
     */
    public Long[] selectTeachPlanSituationFlagByIds(Long[] ids);

    /**
     * 批量删除已评价的教案评价表
     * @param haveIds 已经做了评价的教案记录表ID
     */
    public void deleteTPSituationByIds(Long[] haveIds);
}
